From 041ccd7f878f6412c3a47eec4665ea86123ea048 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 25 Oct 2014 15:55:54 -0400 Subject: [PATCH] GtkPlacesSidebar: Don't crash on dnd gtk_get_current_event() can return NULL. Don't crash if it does. https://bugzilla.gnome.org/show_bug.cgi?id=739150 --- gtk/gtkplacessidebar.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index c6d53f7358..cdc5ce1f8f 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -1420,11 +1420,13 @@ static gboolean clicked_eject_button (GtkPlacesSidebar *sidebar, GtkTreePath **path) { - GdkEvent *event = gtk_get_current_event (); - GdkEventButton *button_event = (GdkEventButton *) event; + GdkEvent *event; - if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) && - over_eject_button (sidebar, button_event->x, button_event->y, path)) + event = gtk_get_current_event (); + + if (event && + (event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) && + over_eject_button (sidebar, ((GdkEventButton *)event)->x, ((GdkEventButton *)event)->y, path)) return TRUE; return FALSE; -- 2.30.2